This description relates to route planning for an autonomous vehicle.
An autonomous vehicle can drive safely without human intervention during part of a journey or an entire journey.
An autonomous vehicle includes sensors, actuators, computers, and communication devices to enable automated generation and following of routes through the environment. Some autonomous vehicles have wireless two-way communication capability to communicate with remotely-located command centers that may be manned by human monitors, to access data and information stored in a cloud service, and to communicate with emergency services.
As shown in FIG. 1, in a typical use of an autonomous vehicle 10, a desired goal position 12 (e.g., a destination address or street intersection) may be identified in a variety of ways. The goal position may be specified by a rider (who may be, for example, an owner of the vehicle or a passenger in a mobility-as-a-service “robo-taxi” application). The goal position may be provided by an algorithm (which, for example, may be running on a centralized server in the cloud and tasked with optimizing the locations of a fleet of autonomous vehicles with a goal of minimizing rider wait times when hailing a robo-taxi). In some cases, the goal position may be provided by a process (e.g., an emergency process that identifies the nearest hospital as the goal position due to a detected medical emergency on board the vehicle).
Given a desired goal position, a routing algorithm 20 determines a route 14 through the environment from the vehicle's current position 16 to the goal position 12. We sometimes call this process “route planning.” In some implementations, a route is a series of connected segments of roads, streets, and highways (which we sometimes refer to as road segments or simply segments).
Routing algorithms typically operate by analyzing road network information. Road network information typically is a digital representation of the structure, type, connectivity, and other relevant information about the road network. A road network is typically represented as a series of connected road segments. The road network information, in addition to identifying connectivity between road segments, may contain additional information about the physical and conceptual properties of each road segment, including but not limited to the geographic location, road name or number, road length and width, speed limit, direction of travel, lane edge boundary type, and any special information about a road segment such as whether it is a bus lane, whether it is a right-turn only or left-turn only lane, whether it is part of a highway, minor road, or dirt road, whether the road segment allows parking or standing, and other properties.
The routing algorithm typically identifies one or more candidate routes 22 from the current position to the goal position. Identification of the best, or optimal, route 14 from among the candidate routes is generally accomplished by employing algorithms (such as A*, D*, Dijkstra's algorithm, and others) that identify a route that minimizes a specified cost. This cost is typically a function of one or more criteria, often including the distance traveled along a candidate route, the expected time to travel along the candidate route when considering speed limits, traffic conditions, and other factors. The routing algorithm may identify one or more than one good routes to be presented to the rider (or other person, for example, an operator at a remote location) for selection or approval. In some cases, the one optimal route may simply be provided to a vehicle trajectory planning and control module 28, which has the function of guiding the vehicle toward the goal (we sometimes refer to the goal position or simply as the goal) along the optimal route.
As shown in FIG. 2, road network information typically is stored in a database 30 that is maintained on a centrally accessible server 32 and may be updated at high frequency (e.g., 1 Hz or more). The network information can be accessed either on-demand (e.g., requested by the vehicle 34), or pushed to the vehicle by a server.
Road network information can have temporal information associated with it, to enable descriptions of traffic rules, parking rules, or other effects that are time dependent (e.g., a road segment that does not allow parking during standard business hours, or on weekends, for example), or to include information about expected travel time along a road segment at specific times of day (e.g., during rush hour).